package job;

/** interface pour le rendu visuel */
public interface Drawer {
	/** Demande de dessiner un block
	 * @param x position x du block
	 * @param y position y du block
	 * @param color la couleur est un entier de 0 à nombre de pièce */
	public void drawBlockAtPosition(int x, int y, int color);
	/** Demande de dessiner un block de la piece suivante
	 * On fait une methode differente de drawBlockAtPosition car
	 * on veux pouvoir afficher la pièce suivante ou l'on veux.
	 * @param x position x du block
	 * @param y position y du block
	 * @param color la couleur est un entier de 0 à nombre de pièce */
	public void drawNextPieceBlock(int x, int y, int color);
	/** Défini les dimensions du block */
	public void setPlayGroundDimensions(int x, int y);
	public void setEventListener(Controler e);
	/** Efface tout */
	public void clear();
	/** Demande de nouvelle partie par l'IHM */
	public boolean requestNewGame();
	/** Demande de dessiner la fin de partie */
	public void drawGameOver();
	/** Demande d'afficher le score
	 * @param nbLines nombre de lignes 
	 * @param nbPoints nombre de points
	 * @param lvl le niveau en cours */
	public void drawScore(int nbLines, int nbPoints, int lvl);
}
